<?php

class PageController extends Controller
{
    public function actionIndex()
    {
        $this->render('index');
    }
        
    public function actionView ($alias)
    {
            $this->pageTitle = "";

            if (!empty($alias)) {
                //если URL Не пустой удаляем пробелы и ставим ограничение <= 100 симолов
                $id = substr(trim($alias), 0, 100);
               
                //только англ буквы и цифры в url
                if(preg_match("/^[a-zA-Z0-9\-\_]+$/", $alias)) {
                    $page = Page::model()->find("alias = :alias", array(
                                ':alias' => $alias,
                    ));
                    if (!empty($page)) {
                        //передаем $page в отображение
                        $this->render('view', array(
                            'model' => $page,
                        ));
                    } else {
                        //если нету такого id - 404!
                        Yii::app()->runController('page/error404');

                    }
                } else {
                    Yii::app()->runController('post/error403');
                }
            } else {
               //если URL пустой - главная страница
                Yii::app()->runController('page/index');
            }
        }

        public function actionError404 ()
        {
            $this->render('404');
        }        
    // Uncomment the following methods and override them if needed
    /*
    public function filters()
    {
        // return the filter configuration for this controller, e.g.:
        return array(
            'inlineFilterName',
            array(
                'class'=>'path.to.FilterClass',
                'propertyName'=>'propertyValue',
            ),
        );
    }

    public function actions()
    {
        // return external action classes, e.g.:
        return array(
            'action1'=>'path.to.ActionClass',
            'action2'=>array(
                'class'=>'path.to.AnotherActionClass',
                'propertyName'=>'propertyValue',
            ),
        );
    }
    */
}